<?php
namespace app\admin\model;

use think\Model;
use think\Db;
class Article extends Model{

             /*
               * some_func
               * 添加文章
               * @access public
               * @param array $article 添加的文章内容
               * @return array
               */
    public function addArticleLogic($article){
        unset($article['file']); //删除上传图片插件自带的多余变量
        if(!empty($article['thumb'])){
            $article['thumb'] = '/public/upload/article/image/' . $article['thumb'] ; //匹配文中第一张图片
        }else{
            preg_match("/src=\"\/?(.*?)\"/", $article['content'], $match); //匹配文中第一张图片，用作配图
            if(!empty($match)){
                $article['thumb'] = '/' . $match[1]; //文中第一张图片
            }
        }

        if(empty($article['add_time'])){
            $article['add_time'] =  time(); //发布时间
        }else{
            $article['add_time'] =  strtotime($article['add_time']); //没有选择发布时间则选当前时间作为发布时间
        }
        $result = Db::name('article')->insert($article);
         return $result;
    }

    /*
     * some_func
     * 修改文章
     * @access public
     * @param int $id 要修改的文章id
     * @param array $article 要修改的文章内容
     * @return array
     */
    public function editArticleLogic($id, $article){
        unset($article['file']); //删除上传图片插件自带的多余变量
        if(empty($article['thumb'])){
            unset($article['thumb']);
        }else{
            preg_match("/src=\"\/?(.*?)\"/", $article['content'], $match);//匹配文中第一张图片
            if(!empty($match)){
                $articleImg = ROOT_PATH  . '/' . $match[1]; //文中第一张图片
            }
             if(!empty($old_thumb)){
                 $old_thumb =  ROOT_PATH  . $article['old_thumb']; //旧文章配图
                 if(empty($articleImg) || $articleImg != $old_thumb && !empty($old_thumb) ) {
                     unlink($old_thumb); //从文件库中删除原配图
                 }
             }
            $article['thumb'] = '/public/upload/article/image/' . $article['thumb'] ;
        }
        unset($article['old_thumb']); //删除多余的变量，旧文章配图

        if(empty($article['add_time'])){
            $article['add_time'] =  time(); //发布时间
        }else{
            $article['add_time'] =  strtotime($article['add_time']); //没有选择发布时间则选当前时间作为发布时间
        }
        $result =  Db::name('article')->where(array('id' => $id))->update($article);

        return $result;

    }
}